iT邦幫忙

2021 iThome 鐵人賽

DAY 21
0
Software Development

Gradle 通靈術系列 第 21

第二十一天:Gradle Kotlin DSL

  • 分享至 

  • xImage
  •  

Gradle 的核心是由 Java 實作,但為了提供更好擴充的語法,Gradle 一開始使用 Groovy 實作 DSL 語法,讓開發者能用簡潔及具語義的程式碼來寫 Build Script。隨著 Kotlin 的推出與熱門,開發者也發現 Kotlin 在實作 DSL 上的方便與潛力。因此 Gradle 從 5.0 以後又用 Kotlin 實作 DSL 層,讓 Kotlin 開發者可以用原本就熟悉的語法來寫 Build Script,IDE 的語法提示、自動完成與偵錯也更好實作。

許多人常問為什麼要用 Gradle Kotlin DSL 呢?這邊可以跟大家分享一下:

1. 簡化了 Plugin 的語法

Gradle 提供數個內建 Plugin,在專案裡套用這些 Plugin 的方法就是在 Build Script 上指定 Plugin 的 id,不需要寫版本號。常見的例子像是 applicationjavajacoco。以 Groovy DSL 套用 jacoco Plugin 的寫法如下:

plugins {
    id 'jacoco'
}

不過 Kotlin DSL 用 property extension 的方式讓這個語法更精簡成:

plugins {
    jacoco
}

用這種方式來宣告 Plugin 的好處就是假如您加了一個不存在的 Plugin 或打錯字的話,IDE 會直接以語法錯誤來提醒您修正。

參考資料


上一篇
第二十天:Gradle task graph
下一篇
第二十二天:試寫 Gradle Plugin
系列文
Gradle 通靈術24
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言